# !/usr/bin/env python
# -*- coding: utf-8 -*-
# ///////////////////////////////////////////////////////////////
# @File    :   sichuan.py
# @Time    :   2024/08/29 18:03:59
# @Author  :   kai.luo
# @Version :   1.0.0
# @Desc    :   None
# ///////////////////////////////////////////////////////////////

from moudles.ColorDopplerReportForm.commonLibrary.common import *
from .getSichuanImageHeaderData import SichuanHeaderInfo
from .getSichuanImageMainData import SichuanMainInfo
from .getSichuanImageTipData import SichuanTipInfo
from .getSichuanImageFooterData import SichuanFooterInfo


class Sichuan(object):
    """
    'use_gpu=False'不用gpu，默认使用GPU
    'use_angle_cls=True'自动下载相关的包
    'lang="ch"'设置语言，支持中英文、英文、法语、德语、韩语、日语，参数依次为`ch`, `en`, `french`, `german`, `korean`, `japan`
    离线使用时，设置模型的目录det_model_dir、rec_model_dir、cls_model_dir第一次联网模型会自动下载到model目录下
    """

    def __init__(self, **kwargs):

        self.image_data = list()  # 每张图片解析后的数据
        self.form_base_data = list()  # 基本信息

    def getSichuanImageData(self, result, foortHeight, tipHeight):
        """
        获取图片数据
        Args:
            result (_type_): 数据列表
        """
        image_data = []  # 整张图片的数据
        split_posy = 260  # 切割上下部分的高度

        # 获取区块数据
        imageBlockData = getImageBlockData(result, split_posy, foortHeight, tipHeight)
        # print(f'imageBlockData---{imageBlockData}')
        header_title_data_list, header_base_data_list, main_desc_data_list, tip_data_list, footer_data_list = imageBlockData
        # print(f'header_title_data_list----{header_title_data_list}')
        # print(f'header_base_data_list----{header_base_data_list}')
        # print(f'main_desc_data_list----{main_desc_data_list}')
        # print(f'tip_data_list----{tip_data_list}')
        # print(f'footer_data_list----{footer_data_list}')

        # 获取医院名称及用户信息
        sichuanHeaderInfo = SichuanHeaderInfo()
        sichuanHeaderTitle = sichuanHeaderInfo.getHospitalName(header_title_data_list)  # 解析头部标题信息
        image_data.append(sichuanHeaderTitle)

        sichuanHeaderBase = sichuanHeaderInfo.getHeaderInfo(header_base_data_list)  # 解析头部基本信息
        image_data.append(sichuanHeaderBase)

        # 获取描述信息
        sichuanMainInfo = SichuanMainInfo()
        sichuanMainDesc = sichuanMainInfo.getDescInfo(main_desc_data_list)
        image_data.append(sichuanMainDesc)

        # 获取彩超提示
        sichuanTipInfo = SichuanTipInfo()
        sichuanTip = sichuanTipInfo.getTipInfo(tip_data_list)
        image_data.append(sichuanTip)

        # 获取尾部信息
        sichuanFooterInfo = SichuanFooterInfo()
        sichuanFooter = sichuanFooterInfo.getFooterInfo(footer_data_list)
        image_data.append(sichuanFooter)

        return image_data
